<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    //21-04-29 

    //将值从一种类型转换为另一种类型通常称为类型转换。
    //强制类型装换   tostring number boolean parseint parsefloat
    //       隐式   -    +    ==   ！！ 

    //原始值 转布尔
    //Boolean 函数将类型转换成布尔类型，在 JavaScript 中，只有 6 种值可以被转换成 false，其他都会被转换成 true。
    console.log(Boolean())          // false      //注意，当 Boolean 函数不传任何参数时，会返回 false。  
    console.log(Boolean(false))     // false    
    console.log(Boolean(undefined)) // false
    console.log(Boolean(null))      // false
    console.log(Boolean(+0))        // false
    console.log(Boolean(-0))        // false
    console.log(Boolean(NaN))       // false
    console.log(Boolean(""))        // false


    Number() //也是类型转换
             //用 Number 函数将类型转换成数字类型，如果参数无法被转换为数字，则返回 NaN。


    console.log(parseInt("3 abc")) // 3
    console.log(parseFloat("3.14 abc")) // 3.14
    //parseInt 只解析整数，
    //parseFloat 则可以解析整数和浮点数，如果字符串前缀是 "0x" 或者"0X"，parseInt 将其解释为十六进制数
    //parseInt 和 parseFloat 都会跳过任意数量的前导空格，尽可能解析更多数值字符，并忽略后面的内容。如果第一个非空格字符是非法的数字直接量，将最终返回 NaN：

    console.log(String()) // 空字符串

   //转为字符串：使用 .toString或者String
   //.toString()方法：注意，不可以转null和underfined

   //隐式转换：num  +  "" 任何东西+字符串都是字符串  

</script>